package bcslib

import (
	"github.com/BurntSushi/toml"
	u "lpaiche.com/utils"
)

type redisKeys struct {
	BailChangeQueue        string
	BailChangeQueueHanding string
	EnableHandingLock      string
}

type Config struct {
	RedisKeys redisKeys
}

/**
  初始化配置
  @path 指定配置文件路径,默认./conf/config.toml
*/
func InitConfig(path string) {
	//默认去程序根目录，查找配置文件
	if path == "" {
		path = configPathFile
	}
	yes, _ := u.FilePathExists(path)
	if yes {
		var err error
		conf, err = parseConfig(path)
		if err != nil {
			u.Trace("配置文件读取错误")
		} else {
			u.Trace("Config:")
			u.Trace(conf)
		}
	} else if path == "" {
		u.Trace("配置文件不存在!" + path)
	}
}

/**
返回配置对象
*/
func GetConfig() Config {
	return conf
}

/**
解析配置文件
*/
func parseConfig(cfg_file_path string) (c Config, err error) {
	var conf Config
	if _, err := toml.DecodeFile(cfg_file_path, &conf); err != nil {
		return conf, err
	} else {
		return conf, nil
	}

}
